package com.jfirer.jnet.extend.reverse.proxy;

import java.util.HashMap;
import java.util.Map;

public class ContentTypeDist
{
    private static Map<String, String> dist = new HashMap<>();

    static
    {
        dist.put(".jpg", "image/jpeg");
        dist.put(".jpeg", "image/jpeg");
        dist.put(".load", "text/html");
        dist.put(".123", "application/vnd.lotus-1-2-3");
        dist.put(".3ds", "image/x-3ds");
        dist.put(".3g2", "video/3gpp");
        dist.put(".3ga", "video/3gpp");
        dist.put(".3gp", "video/3gpp");
        dist.put(".3gpp", "video/3gpp");
        dist.put(".602", "application/x-t602");
        dist.put(".669", "audio/x-mod");
        dist.put(".7z", "application/x-7z-compressed");
        dist.put(".a", "application/x-archive");
        dist.put(".aac", "audio/mp4");
        dist.put(".abw", "application/x-abiword");
        dist.put(".abw.crashed", "application/x-abiword");
        dist.put(".abw.gz", "application/x-abiword");
        dist.put(".ac3", "audio/ac3");
        dist.put(".ace", "application/x-ace");
        dist.put(".adb", "text/x-adasrc");
        dist.put(".ads", "text/x-adasrc");
        dist.put(".afm", "application/x-font-afm");
        dist.put(".ag", "image/x-applix-graphics");
        dist.put(".ai", "application/illustrator");
        dist.put(".aif", "audio/x-aiff");
        dist.put(".aifc", "audio/x-aiff");
        dist.put(".aiff", "audio/x-aiff");
        dist.put(".al", "application/x-perl");
        dist.put(".alz", "application/x-alz");
        dist.put(".amr", "audio/amr");
        dist.put(".ani", "application/x-navi-animation");
        dist.put(".anim[1-9j]", "video/x-anim");
        dist.put(".anx", "application/annodex");
        dist.put(".ape", "audio/x-ape");
        dist.put(".arj", "application/x-arj");
        dist.put(".arw", "image/x-sony-arw");
        dist.put(".as", "application/x-applix-spreadsheet");
        dist.put(".asc", "text/plain");
        dist.put(".asf", "video/x-ms-asf");
        dist.put(".asp", "application/x-asp");
        dist.put(".ass", "text/x-ssa");
        dist.put(".asx", "audio/x-ms-asx");
        dist.put(".atom", "application/atom+xml");
        dist.put(".au", "audio/basic");
        dist.put(".avi", "video/x-msvideo");
        dist.put(".aw", "application/x-applix-word");
        dist.put(".awb", "audio/amr-wb");
        dist.put(".awk", "application/x-awk");
        dist.put(".axa", "audio/annodex");
        dist.put(".axv", "video/annodex");
        dist.put(".bak", "application/x-trash");
        dist.put(".bcpio", "application/x-bcpio");
        dist.put(".bdf", "application/x-font-bdf");
        dist.put(".bib", "text/x-bibtex");
        dist.put(".bin", "application/octet-stream");
        dist.put(".blend", "application/x-blender");
        dist.put(".blender", "application/x-blender");
        dist.put(".bmp", "image/bmp");
        dist.put(".bz", "application/x-bzip");
        dist.put(".bz2", "application/x-bzip");
        dist.put(".c", "text/x-csrc");
        dist.put(".c++", "text/x-c++src");
        dist.put(".cab", "application/vnd.ms-cab-compressed");
        dist.put(".cb7", "application/x-cb7");
        dist.put(".cbr", "application/x-cbr");
        dist.put(".cbt", "application/x-cbt");
        dist.put(".cbz", "application/x-cbz");
        dist.put(".cc", "text/x-c++src");
        dist.put(".cdf", "application/x-netcdf");
        dist.put(".cdr", "application/vnd.corel-draw");
        dist.put(".cer", "application/x-x509-ca-cert");
        dist.put(".cert", "application/x-x509-ca-cert");
        dist.put(".cgm", "image/cgm");
        dist.put(".chm", "application/x-chm");
        dist.put(".chrt", "application/x-kchart");
        dist.put(".class", "application/x-java");
        dist.put(".cls", "text/x-tex");
        dist.put(".cmake", "text/x-cmake");
        dist.put(".cpio", "application/x-cpio");
        dist.put(".cpio.gz", "application/x-cpio-compressed");
        dist.put(".cpp", "text/x-c++src");
        dist.put(".cr2", "image/x-canon-cr2");
        dist.put(".crt", "application/x-x509-ca-cert");
        dist.put(".crw", "image/x-canon-crw");
        dist.put(".cs", "text/x-csharp");
        dist.put(".csh", "application/x-csh");
        dist.put(".css", "text/css");
        dist.put(".cssl", "text/css");
        dist.put(".csv", "text/csv");
        dist.put(".cue", "application/x-cue");
        dist.put(".cur", "image/x-win-bitmap");
        dist.put(".cxx", "text/x-c++src");
        dist.put(".d", "text/x-dsrc");
        dist.put(".dar", "application/x-dar");
        dist.put(".dbf", "application/x-dbf");
        dist.put(".dc", "application/x-dc-rom");
        dist.put(".dcl", "text/x-dcl");
        dist.put(".dcm", "application/dicom");
        dist.put(".dcr", "image/x-kodak-dcr");
        dist.put(".dds", "image/x-dds");
        dist.put(".deb", "application/x-deb");
        dist.put(".der", "application/x-x509-ca-cert");
        dist.put(".desktop", "application/x-desktop");
        dist.put(".dia", "application/x-dia-diagram");
        dist.put(".diff", "text/x-patch");
        dist.put(".divx", "video/x-msvideo");
        dist.put(".djv", "image/vnd.djvu");
        dist.put(".djvu", "image/vnd.djvu");
        dist.put(".dng", "image/x-adobe-dng");
        dist.put(".doc", "application/msword");
        dist.put(".docbook", "application/docbook+xml");
        dist.put(".docm", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        dist.put(".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        dist.put(".dot", "text/vnd.graphviz");
        dist.put(".dsl", "text/x-dsl");
        dist.put(".dtd", "application/xml-dtd");
        dist.put(".dtx", "text/x-tex");
        dist.put(".dv", "video/dv");
        dist.put(".dvi", "application/x-dvi");
        dist.put(".dvi.bz2", "application/x-bzdvi");
        dist.put(".dvi.gz", "application/x-gzdvi");
        dist.put(".dwg", "image/vnd.dwg");
        dist.put(".dxf", "image/vnd.dxf");
        dist.put(".e", "text/x-eiffel");
        dist.put(".egon", "application/x-egon");
        dist.put(".eif", "text/x-eiffel");
        dist.put(".el", "text/x-emacs-lisp");
        dist.put(".emf", "image/x-emf");
        dist.put(".emp", "application/vnd.emusic-emusic_package");
        dist.put(".ent", "application/xml-external-parsed-entity");
        dist.put(".eps", "image/x-eps");
        dist.put(".eps.bz2", "image/x-bzeps");
        dist.put(".eps.gz", "image/x-gzeps");
        dist.put(".epsf", "image/x-eps");
        dist.put(".epsf.bz2", "image/x-bzeps");
        dist.put(".epsf.gz", "image/x-gzeps");
        dist.put(".epsi", "image/x-eps");
        dist.put(".epsi.bz2", "image/x-bzeps");
        dist.put(".epsi.gz", "image/x-gzeps");
        dist.put(".epub", "application/epub+zip");
        dist.put(".erl", "text/x-erlang");
        dist.put(".es", "application/ecmascript");
        dist.put(".etheme", "application/x-e-theme");
        dist.put(".etx", "text/x-setext");
        dist.put(".exe", "application/x-ms-dos-executable");
        dist.put(".exr", "image/x-exr");
        dist.put(".ez", "application/andrew-inset");
        dist.put(".f", "text/x-fortran");
        dist.put(".f90", "text/x-fortran");
        dist.put(".f95", "text/x-fortran");
        dist.put(".fb2", "application/x-fictionbook+xml");
        dist.put(".fig", "image/x-xfig");
        dist.put(".fits", "image/fits");
        dist.put(".fl", "application/x-fluid");
        dist.put(".flac", "audio/x-flac");
        dist.put(".flc", "video/x-flic");
        dist.put(".fli", "video/x-flic");
        dist.put(".flv", "video/x-flv");
        dist.put(".flw", "application/x-kivio");
        dist.put(".fo", "text/x-xslfo");
        dist.put(".for", "text/x-fortran");
        dist.put(".g3", "image/fax-g3");
        dist.put(".gb", "application/x-gameboy-rom");
        dist.put(".gba", "application/x-gba-rom");
        dist.put(".gcrd", "text/directory");
        dist.put(".ged", "application/x-gedcom");
        dist.put(".gedcom", "application/x-gedcom");
        dist.put(".gen", "application/x-genesis-rom");
        dist.put(".gf", "application/x-tex-gf");
        dist.put(".gg", "application/x-sms-rom");
        dist.put(".gif", "image/gif");
        dist.put(".glade", "application/x-glade");
        dist.put(".gmo", "application/x-gettext-translation");
        dist.put(".gnc", "application/x-gnucash");
        dist.put(".gnd", "application/gnunet-directory");
        dist.put(".gnucash", "application/x-gnucash");
        dist.put(".gnumeric", "application/x-gnumeric");
        dist.put(".gnuplot", "application/x-gnuplot");
        dist.put(".gp", "application/x-gnuplot");
        dist.put(".gpg", "application/pgp-encrypted");
        dist.put(".gplt", "application/x-gnuplot");
        dist.put(".gra", "application/x-graphite");
        dist.put(".gsf", "application/x-font-type1");
        dist.put(".gsm", "audio/x-gsm");
        dist.put(".gtar", "application/x-tar");
        dist.put(".gv", "text/vnd.graphviz");
        dist.put(".gvp", "text/x-google-video-pointer");
        dist.put(".gz", "application/x-gzip");
        dist.put(".h", "text/x-chdr");
        dist.put(".h++", "text/x-c++hdr");
        dist.put(".hdf", "application/x-hdf");
        dist.put(".hh", "text/x-c++hdr");
        dist.put(".hp", "text/x-c++hdr");
        dist.put(".hpgl", "application/vnd.hp-hpgl");
        dist.put(".hpp", "text/x-c++hdr");
        dist.put(".hs", "text/x-haskell");
        dist.put(".htm", "text/html");
        dist.put(".html", "text/html");
        dist.put(".hwp", "application/x-hwp");
        dist.put(".hwt", "application/x-hwt");
        dist.put(".hxx", "text/x-c++hdr");
        dist.put(".ica", "application/x-ica");
        dist.put(".icb", "image/x-tga");
        dist.put(".icns", "image/x-icns");
        dist.put(".ico", "image/vnd.microsoft.icon");
        dist.put(".ics", "text/calendar");
        dist.put(".idl", "text/x-idl");
        dist.put(".ief", "image/ief");
        dist.put(".iff", "image/x-iff");
        dist.put(".ilbm", "image/x-ilbm");
        dist.put(".ime", "text/x-imelody");
        dist.put(".imy", "text/x-imelody");
        dist.put(".ins", "text/x-tex");
        dist.put(".iptables", "text/x-iptables");
        dist.put(".iso", "application/x-cd-image");
        dist.put(".iso9660", "application/x-cd-image");
        dist.put(".it", "audio/x-it");
        dist.put(".j2k", "image/jp2");
        dist.put(".jad", "text/vnd.sun.j2me.app-descriptor");
        dist.put(".jar", "application/x-java-archive");
        dist.put(".java", "text/x-java");
        dist.put(".jng", "image/x-jng");
        dist.put(".jnlp", "application/x-java-jnlp-file");
        dist.put(".jp2", "image/jp2");
        dist.put(".jpc", "image/jp2");
        dist.put(".jpe", "image/jpeg");
        dist.put(".jpf", "image/jp2");
        dist.put(".jpr", "application/x-jbuilder-project");
        dist.put(".jpx", "image/jp2");
        dist.put(".js", "application/javascript");
        dist.put(".json", "application/json");
        dist.put(".jsonp", "application/jsonp");
        dist.put(".k25", "image/x-kodak-k25");
        dist.put(".kar", "audio/midi");
        dist.put(".karbon", "application/x-karbon");
        dist.put(".kdc", "image/x-kodak-kdc");
        dist.put(".kdelnk", "application/x-desktop");
        dist.put(".kexi", "application/x-kexiproject-sqlite3");
        dist.put(".kexic", "application/x-kexi-connectiondata");
        dist.put(".kexis", "application/x-kexiproject-shortcut");
        dist.put(".kfo", "application/x-kformula");
        dist.put(".kil", "application/x-killustrator");
        dist.put(".kino", "application/smil");
        dist.put(".kml", "application/vnd.google-earth.kml+xml");
        dist.put(".kmz", "application/vnd.google-earth.kmz");
        dist.put(".kon", "application/x-kontour");
        dist.put(".kpm", "application/x-kpovmodeler");
        dist.put(".kpr", "application/x-kpresenter");
        dist.put(".kpt", "application/x-kpresenter");
        dist.put(".kra", "application/x-krita");
        dist.put(".ksp", "application/x-kspread");
        dist.put(".kud", "application/x-kugar");
        dist.put(".kwd", "application/x-kword");
        dist.put(".kwt", "application/x-kword");
        dist.put(".la", "application/x-shared-library-la");
        dist.put(".latex", "text/x-tex");
        dist.put(".ldif", "text/x-ldif");
        dist.put(".lha", "application/x-lha");
        dist.put(".lhs", "text/x-literate-haskell");
        dist.put(".lhz", "application/x-lhz");
        dist.put(".log", "text/x-log");
        dist.put(".ltx", "text/x-tex");
        dist.put(".lua", "text/x-lua");
        dist.put(".lwo", "image/x-lwo");
        dist.put(".lwob", "image/x-lwo");
        dist.put(".lws", "image/x-lws");
        dist.put(".ly", "text/x-lilypond");
        dist.put(".lyx", "application/x-lyx");
        dist.put(".lz", "application/x-lzip");
        dist.put(".lzh", "application/x-lha");
        dist.put(".lzma", "application/x-lzma");
        dist.put(".lzo", "application/x-lzop");
        dist.put(".m", "text/x-matlab");
        dist.put(".m15", "audio/x-mod");
        dist.put(".m2t", "video/mpeg");
        dist.put(".m3u", "audio/x-mpegurl");
        dist.put(".m3u8", "audio/x-mpegurl");
        dist.put(".m4", "application/x-m4");
        dist.put(".m4a", "audio/mp4");
        dist.put(".m4b", "audio/x-m4b");
        dist.put(".m4v", "video/mp4");
        dist.put(".mab", "application/x-markaby");
        dist.put(".man", "application/x-troff-man");
        dist.put(".mbox", "application/mbox");
        dist.put(".md", "application/x-genesis-rom");
        dist.put(".mdb", "application/vnd.ms-access");
        dist.put(".mdi", "image/vnd.ms-modi");
        dist.put(".me", "text/x-troff-me");
        dist.put(".med", "audio/x-mod");
        dist.put(".metalink", "application/metalink+xml");
        dist.put(".mgp", "application/x-magicpoint");
        dist.put(".mid", "audio/midi");
        dist.put(".midi", "audio/midi");
        dist.put(".mif", "application/x-mif");
        dist.put(".minipsf", "audio/x-minipsf");
        dist.put(".mka", "audio/x-matroska");
        dist.put(".mkv", "video/x-matroska");
        dist.put(".ml", "text/x-ocaml");
        dist.put(".mli", "text/x-ocaml");
        dist.put(".mm", "text/x-troff-mm");
        dist.put(".mmf", "application/x-smaf");
        dist.put(".mml", "text/mathml");
        dist.put(".mng", "video/x-mng");
        dist.put(".mo", "application/x-gettext-translation");
        dist.put(".mo3", "audio/x-mo3");
        dist.put(".moc", "text/x-moc");
        dist.put(".mod", "audio/x-mod");
        dist.put(".mof", "text/x-mof");
        dist.put(".moov", "video/quicktime");
        dist.put(".mov", "video/quicktime");
        dist.put(".movie", "video/x-sgi-movie");
        dist.put(".mp+", "audio/x-musepack");
        dist.put(".mp2", "video/mpeg");
        dist.put(".mp3", "audio/mpeg");
        dist.put(".mp4", "video/mp4");
        dist.put(".mpc", "audio/x-musepack");
        dist.put(".mpe", "video/mpeg");
        dist.put(".mpeg", "video/mpeg");
        dist.put(".mpg", "video/mpeg");
        dist.put(".mpga", "audio/mpeg");
        dist.put(".mpp", "audio/x-musepack");
        dist.put(".mrl", "text/x-mrml");
        dist.put(".mrml", "text/x-mrml");
        dist.put(".mrw", "image/x-minolta-mrw");
        dist.put(".ms", "text/x-troff-ms");
        dist.put(".msi", "application/x-msi");
        dist.put(".msod", "image/x-msod");
        dist.put(".msx", "application/x-msx-rom");
        dist.put(".mtm", "audio/x-mod");
        dist.put(".mup", "text/x-mup");
        dist.put(".mxf", "application/mxf");
        dist.put(".n64", "application/x-n64-rom");
        dist.put(".nb", "application/mathematica");
        dist.put(".nc", "application/x-netcdf");
        dist.put(".nds", "application/x-nintendo-ds-rom");
        dist.put(".nef", "image/x-nikon-nef");
        dist.put(".nes", "application/x-nes-rom");
        dist.put(".nfo", "text/x-nfo");
        dist.put(".not", "text/x-mup");
        dist.put(".nsc", "application/x-netshow-channel");
        dist.put(".nsv", "video/x-nsv");
        dist.put(".o", "application/x-object");
        dist.put(".obj", "application/x-tgif");
        dist.put(".ocl", "text/x-ocl");
        dist.put(".oda", "application/oda");
        dist.put(".odb", "application/vnd.oasis.opendocument.database");
        dist.put(".odc", "application/vnd.oasis.opendocument.chart");
        dist.put(".odf", "application/vnd.oasis.opendocument.formula");
        dist.put(".odg", "application/vnd.oasis.opendocument.graphics");
        dist.put(".odi", "application/vnd.oasis.opendocument.image");
        dist.put(".odm", "application/vnd.oasis.opendocument.text-master");
        dist.put(".odp", "application/vnd.oasis.opendocument.presentation");
        dist.put(".ods", "application/vnd.oasis.opendocument.spreadsheet");
        dist.put(".odt", "application/vnd.oasis.opendocument.text");
        dist.put(".oga", "audio/ogg");
        dist.put(".ogg", "video/x-theora+ogg");
        dist.put(".ogm", "video/x-ogm+ogg");
        dist.put(".ogv", "video/ogg");
        dist.put(".ogx", "application/ogg");
        dist.put(".old", "application/x-trash");
        dist.put(".oleo", "application/x-oleo");
        dist.put(".opml", "text/x-opml+xml");
        dist.put(".ora", "image/openraster");
        dist.put(".orf", "image/x-olympus-orf");
        dist.put(".otc", "application/vnd.oasis.opendocument.chart-template");
        dist.put(".otf", "application/x-font-otf");
        dist.put(".otg", "application/vnd.oasis.opendocument.graphics-template");
        dist.put(".oth", "application/vnd.oasis.opendocument.text-web");
        dist.put(".otp", "application/vnd.oasis.opendocument.presentation-template");
        dist.put(".ots", "application/vnd.oasis.opendocument.spreadsheet-template");
        dist.put(".ott", "application/vnd.oasis.opendocument.text-template");
        dist.put(".owl", "application/rdf+xml");
        dist.put(".oxt", "application/vnd.openofficeorg.extension");
        dist.put(".p", "text/x-pascal");
        dist.put(".p10", "application/pkcs10");
        dist.put(".p12", "application/x-pkcs12");
        dist.put(".p7b", "application/x-pkcs7-certificates");
        dist.put(".p7s", "application/pkcs7-signature");
        dist.put(".pack", "application/x-java-pack200");
        dist.put(".pak", "application/x-pak");
        dist.put(".par2", "application/x-par2");
        dist.put(".pas", "text/x-pascal");
        dist.put(".patch", "text/x-patch");
        dist.put(".pbm", "image/x-portable-bitmap");
        dist.put(".pcd", "image/x-photo-cd");
        dist.put(".pcf", "application/x-cisco-vpn-settings");
        dist.put(".pcf.gz", "application/x-font-pcf");
        dist.put(".pcf.z", "application/x-font-pcf");
        dist.put(".pcl", "application/vnd.hp-pcl");
        dist.put(".pcx", "image/x-pcx");
        dist.put(".pdb", "chemical/x-pdb");
        dist.put(".pdc", "application/x-aportisdoc");
        dist.put(".pdf", "application/pdf");
        dist.put(".pdf.bz2", "application/x-bzpdf");
        dist.put(".pdf.gz", "application/x-gzpdf");
        dist.put(".pef", "image/x-pentax-pef");
        dist.put(".pem", "application/x-x509-ca-cert");
        dist.put(".perl", "application/x-perl");
        dist.put(".pfa", "application/x-font-type1");
        dist.put(".pfb", "application/x-font-type1");
        dist.put(".pfx", "application/x-pkcs12");
        dist.put(".pgm", "image/x-portable-graymap");
        dist.put(".pgn", "application/x-chess-pgn");
        dist.put(".pgp", "application/pgp-encrypted");
        dist.put(".php", "application/x-php");
        dist.put(".php3", "application/x-php");
        dist.put(".php4", "application/x-php");
        dist.put(".pict", "image/x-pict");
        dist.put(".pict1", "image/x-pict");
        dist.put(".pict2", "image/x-pict");
        dist.put(".pickle", "application/python-pickle");
        dist.put(".pk", "application/x-tex-pk");
        dist.put(".pkipath", "application/pkix-pkipath");
        dist.put(".pkr", "application/pgp-keys");
        dist.put(".pl", "application/x-perl");
        dist.put(".pla", "audio/x-iriver-pla");
        dist.put(".pln", "application/x-planperfect");
        dist.put(".pls", "audio/x-scpls");
        dist.put(".pm", "application/x-perl");
        dist.put(".png", "image/png");
        dist.put(".pnm", "image/x-portable-anymap");
        dist.put(".pntg", "image/x-macpaint");
        dist.put(".po", "text/x-gettext-translation");
        dist.put(".por", "application/x-spss-por");
        dist.put(".pot", "text/x-gettext-translation-template");
        dist.put(".ppm", "image/x-portable-pixmap");
        dist.put(".pps", "application/vnd.ms-powerpoint");
        dist.put(".ppt", "application/vnd.ms-powerpoint");
        dist.put(".pptm", "application/vnd.openxmlformats-officedocument.presentationml.presentation");
        dist.put(".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation");
        dist.put(".ppz", "application/vnd.ms-powerpoint");
        dist.put(".prc", "application/x-palm-database");
        dist.put(".ps", "application/postscript");
        dist.put(".ps.bz2", "application/x-bzpostscript");
        dist.put(".ps.gz", "application/x-gzpostscript");
        dist.put(".psd", "image/vnd.adobe.photoshop");
        dist.put(".psf", "audio/x-psf");
        dist.put(".psf.gz", "application/x-gz-font-linux-psf");
        dist.put(".psflib", "audio/x-psflib");
        dist.put(".psid", "audio/prs.sid");
        dist.put(".psw", "application/x-pocket-word");
        dist.put(".pw", "application/x-pw");
        dist.put(".py", "text/x-python");
        dist.put(".pyc", "application/x-python-bytecode");
        dist.put(".pyo", "application/x-python-bytecode");
        dist.put(".qif", "image/x-quicktime");
        dist.put(".qt", "video/quicktime");
        dist.put(".qtif", "image/x-quicktime");
        dist.put(".qtl", "application/x-quicktime-media-link");
        dist.put(".qtvr", "video/quicktime");
        dist.put(".ra", "audio/vnd.rn-realaudio");
        dist.put(".raf", "image/x-fuji-raf");
        dist.put(".ram", "application/ram");
        dist.put(".rar", "application/x-rar");
        dist.put(".ras", "image/x-cmu-raster");
        dist.put(".raw", "image/x-panasonic-raw");
        dist.put(".rax", "audio/vnd.rn-realaudio");
        dist.put(".rb", "application/x-ruby");
        dist.put(".rdf", "application/rdf+xml");
        dist.put(".rdfs", "application/rdf+xml");
        dist.put(".reg", "text/x-ms-regedit");
        dist.put(".rej", "application/x-reject");
        dist.put(".rgb", "image/x-rgb");
        dist.put(".rle", "image/rle");
        dist.put(".rm", "application/vnd.rn-realmedia");
        dist.put(".rmj", "application/vnd.rn-realmedia");
        dist.put(".rmm", "application/vnd.rn-realmedia");
        dist.put(".rms", "application/vnd.rn-realmedia");
        dist.put(".rmvb", "application/vnd.rn-realmedia");
        dist.put(".rmx", "application/vnd.rn-realmedia");
        dist.put(".roff", "text/troff");
        dist.put(".rp", "image/vnd.rn-realpix");
        dist.put(".rpm", "application/x-rpm");
        dist.put(".rss", "application/rss+xml");
        dist.put(".rt", "text/vnd.rn-realtext");
        dist.put(".rtf", "application/rtf");
        dist.put(".rtx", "text/richtext");
        dist.put(".rv", "video/vnd.rn-realvideo");
        dist.put(".rvx", "video/vnd.rn-realvideo");
        dist.put(".s3m", "audio/x-s3m");
        dist.put(".sam", "application/x-amipro");
        dist.put(".sami", "application/x-sami");
        dist.put(".sav", "application/x-spss-sav");
        dist.put(".scm", "text/x-scheme");
        dist.put(".sda", "application/vnd.stardivision.draw");
        dist.put(".sdc", "application/vnd.stardivision.calc");
        dist.put(".sdd", "application/vnd.stardivision.impress");
        dist.put(".sdp", "application/sdp");
        dist.put(".sds", "application/vnd.stardivision.chart");
        dist.put(".sdw", "application/vnd.stardivision.writer");
        dist.put(".sgf", "application/x-go-sgf");
        dist.put(".sgi", "image/x-sgi");
        dist.put(".sgl", "application/vnd.stardivision.writer");
        dist.put(".sgm", "text/sgml");
        dist.put(".sgml", "text/sgml");
        dist.put(".sh", "application/x-shellscript");
        dist.put(".shar", "application/x-shar");
        dist.put(".shn", "application/x-shorten");
        dist.put(".siag", "application/x-siag");
        dist.put(".sid", "audio/prs.sid");
        dist.put(".sik", "application/x-trash");
        dist.put(".sis", "application/vnd.symbian.install");
        dist.put(".sisx", "x-epoc/x-sisx-app");
        dist.put(".sit", "application/x-stuffit");
        dist.put(".siv", "application/sieve");
        dist.put(".sk", "image/x-skencil");
        dist.put(".sk1", "image/x-skencil");
        dist.put(".skr", "application/pgp-keys");
        dist.put(".slk", "text/spreadsheet");
        dist.put(".smaf", "application/x-smaf");
        dist.put(".smc", "application/x-snes-rom");
        dist.put(".smd", "application/vnd.stardivision.mail");
        dist.put(".smf", "application/vnd.stardivision.math");
        dist.put(".smi", "application/x-sami");
        dist.put(".smil", "application/smil");
        dist.put(".sml", "application/smil");
        dist.put(".sms", "application/x-sms-rom");
        dist.put(".snd", "audio/basic");
        dist.put(".so", "application/x-sharedlib");
        dist.put(".spc", "application/x-pkcs7-certificates");
        dist.put(".spd", "application/x-font-speedo");
        dist.put(".spec", "text/x-rpm-spec");
        dist.put(".spl", "application/x-shockwave-flash");
        dist.put(".spx", "audio/x-speex");
        dist.put(".sql", "text/x-sql");
        dist.put(".sr2", "image/x-sony-sr2");
        dist.put(".src", "application/x-wais-source");
        dist.put(".srf", "image/x-sony-srf");
        dist.put(".srt", "application/x-subrip");
        dist.put(".ssa", "text/x-ssa");
        dist.put(".stc", "application/vnd.sun.xml.calc.template");
        dist.put(".std", "application/vnd.sun.xml.draw.template");
        dist.put(".sti", "application/vnd.sun.xml.impress.template");
        dist.put(".stm", "audio/x-stm");
        dist.put(".stw", "application/vnd.sun.xml.writer.template");
        dist.put(".sty", "text/x-tex");
        dist.put(".sub", "text/x-subviewer");
        dist.put(".sun", "image/x-sun-raster");
        dist.put(".sv4cpio", "application/x-sv4cpio");
        dist.put(".sv4crc", "application/x-sv4crc");
        dist.put(".svg", "image/svg+xml");
        dist.put(".svgz", "image/svg+xml-compressed");
        dist.put(".swf", "application/x-shockwave-flash");
        dist.put(".sxc", "application/vnd.sun.xml.calc");
        dist.put(".sxd", "application/vnd.sun.xml.draw");
        dist.put(".sxg", "application/vnd.sun.xml.writer.global");
        dist.put(".sxi", "application/vnd.sun.xml.impress");
        dist.put(".sxm", "application/vnd.sun.xml.math");
        dist.put(".sxw", "application/vnd.sun.xml.writer");
        dist.put(".sylk", "text/spreadsheet");
        dist.put(".t", "text/troff");
        dist.put(".t2t", "text/x-txt2tags");
        dist.put(".tar", "application/x-tar");
        dist.put(".tar.bz", "application/x-bzip-compressed-tar");
        dist.put(".tar.bz2", "application/x-bzip-compressed-tar");
        dist.put(".tar.gz", "application/x-compressed-tar");
        dist.put(".tar.lzma", "application/x-lzma-compressed-tar");
        dist.put(".tar.lzo", "application/x-tzo");
        dist.put(".tar.xz", "application/x-xz-compressed-tar");
        dist.put(".tar.z", "application/x-tarz");
        dist.put(".tbz", "application/x-bzip-compressed-tar");
        dist.put(".tbz2", "application/x-bzip-compressed-tar");
        dist.put(".tcl", "text/x-tcl");
        dist.put(".tex", "text/x-tex");
        dist.put(".texi", "text/x-texinfo");
        dist.put(".texinfo", "text/x-texinfo");
        dist.put(".tga", "image/x-tga");
        dist.put(".tgz", "application/x-compressed-tar");
        dist.put(".theme", "application/x-theme");
        dist.put(".themepack", "application/x-windows-themepack");
        dist.put(".tif", "image/tiff");
        dist.put(".tiff", "image/tiff");
        dist.put(".tk", "text/x-tcl");
        dist.put(".tlz", "application/x-lzma-compressed-tar");
        dist.put(".tnef", "application/vnd.ms-tnef");
        dist.put(".tnf", "application/vnd.ms-tnef");
        dist.put(".toc", "application/x-cdrdao-toc");
        dist.put(".torrent", "application/x-bittorrent");
        dist.put(".tpic", "image/x-tga");
        dist.put(".tr", "text/troff");
        dist.put(".ts", "application/x-linguist");
        dist.put(".tsv", "text/tab-separated-values");
        dist.put(".tta", "audio/x-tta");
        dist.put(".ttc", "application/x-font-ttf");
        dist.put(".ttf", "application/x-font-ttf");
        dist.put(".ttx", "application/x-font-ttx");
        dist.put(".txt", "text/plain");
        dist.put(".txz", "application/x-xz-compressed-tar");
        dist.put(".tzo", "application/x-tzo");
        dist.put(".ufraw", "application/x-ufraw");
        dist.put(".ui", "application/x-designer");
        dist.put(".uil", "text/x-uil");
        dist.put(".ult", "audio/x-mod");
        dist.put(".uni", "audio/x-mod");
        dist.put(".uri", "text/x-uri");
        dist.put(".url", "text/x-uri");
        dist.put(".ustar", "application/x-ustar");
        dist.put(".vala", "text/x-vala");
        dist.put(".vapi", "text/x-vala");
        dist.put(".vcf", "text/directory");
        dist.put(".vcs", "text/calendar");
        dist.put(".vct", "text/directory");
        dist.put(".vda", "image/x-tga");
        dist.put(".vhd", "text/x-vhdl");
        dist.put(".vhdl", "text/x-vhdl");
        dist.put(".viv", "video/vivo");
        dist.put(".vivo", "video/vivo");
        dist.put(".vlc", "audio/x-mpegurl");
        dist.put(".vob", "video/mpeg");
        dist.put(".voc", "audio/x-voc");
        dist.put(".vor", "application/vnd.stardivision.writer");
        dist.put(".vst", "image/x-tga");
        dist.put(".wav", "audio/x-wav");
        dist.put(".wax", "audio/x-ms-asx");
        dist.put(".wb1", "application/x-quattropro");
        dist.put(".wb2", "application/x-quattropro");
        dist.put(".wb3", "application/x-quattropro");
        dist.put(".wbmp", "image/vnd.wap.wbmp");
        dist.put(".wcm", "application/vnd.ms-works");
        dist.put(".wdb", "application/vnd.ms-works");
        dist.put(".webm", "video/webm");
        dist.put(".wk1", "application/vnd.lotus-1-2-3");
        dist.put(".wk3", "application/vnd.lotus-1-2-3");
        dist.put(".wk4", "application/vnd.lotus-1-2-3");
        dist.put(".wks", "application/vnd.ms-works");
        dist.put(".wma", "audio/x-ms-wma");
        dist.put(".wmf", "image/x-wmf");
        dist.put(".wml", "text/vnd.wap.wml");
        dist.put(".wmls", "text/vnd.wap.wmlscript");
        dist.put(".wmv", "video/x-ms-wmv");
        dist.put(".wmx", "audio/x-ms-asx");
        dist.put(".wp", "application/vnd.wordperfect");
        dist.put(".wp4", "application/vnd.wordperfect");
        dist.put(".wp5", "application/vnd.wordperfect");
        dist.put(".wp6", "application/vnd.wordperfect");
        dist.put(".wpd", "application/vnd.wordperfect");
        dist.put(".wpg", "application/x-wpg");
        dist.put(".wpl", "application/vnd.ms-wpl");
        dist.put(".wpp", "application/vnd.wordperfect");
        dist.put(".wps", "application/vnd.ms-works");
        dist.put(".wri", "application/x-mswrite");
        dist.put(".wrl", "model/vrml");
        dist.put(".wv", "audio/x-wavpack");
        dist.put(".wvc", "audio/x-wavpack-correction");
        dist.put(".wvp", "audio/x-wavpack");
        dist.put(".wvx", "audio/x-ms-asx");
        dist.put(".x3f", "image/x-sigma-x3f");
        dist.put(".xac", "application/x-gnucash");
        dist.put(".xbel", "application/x-xbel");
        dist.put(".xbl", "application/xml");
        dist.put(".xbm", "image/x-xbitmap");
        dist.put(".xcf", "image/x-xcf");
        dist.put(".xcf.bz2", "image/x-compressed-xcf");
        dist.put(".xcf.gz", "image/x-compressed-xcf");
        dist.put(".xhtml", "application/xhtml+xml");
        dist.put(".xi", "audio/x-xi");
        dist.put(".xla", "application/vnd.ms-excel");
        dist.put(".xlc", "application/vnd.ms-excel");
        dist.put(".xld", "application/vnd.ms-excel");
        dist.put(".xlf", "application/x-xliff");
        dist.put(".xliff", "application/x-xliff");
        dist.put(".xll", "application/vnd.ms-excel");
        dist.put(".xlm", "application/vnd.ms-excel");
        dist.put(".xls", "application/vnd.ms-excel");
        dist.put(".xlsm", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        dist.put(".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        dist.put(".xlt", "application/vnd.ms-excel");
        dist.put(".xlw", "application/vnd.ms-excel");
        dist.put(".xm", "audio/x-xm");
        dist.put(".xmf", "audio/x-xmf");
        dist.put(".xmi", "text/x-xmi");
        dist.put(".xml", "application/xml");
        dist.put(".xpm", "image/x-xpixmap");
        dist.put(".xps", "application/vnd.ms-xpsdocument");
        dist.put(".xsl", "application/xml");
        dist.put(".xslfo", "text/x-xslfo");
        dist.put(".xslt", "application/xml");
        dist.put(".xspf", "application/xspf+xml");
        dist.put(".xul", "application/vnd.mozilla.xul+xml");
        dist.put(".xwd", "image/x-xwindowdump");
        dist.put(".xyz", "chemical/x-pdb");
        dist.put(".xz", "application/x-xz");
        dist.put(".w2p", "application/w2p");
        dist.put(".z", "application/x-compress");
        dist.put(".zabw", "application/x-abiword");
        dist.put(".zip", "application/zip");
    }

    public static String get(String key)
    {
        return dist.get(key);
    }

    public static String getOrDefault(String key, String defaultStr)
    {
        return dist.getOrDefault(key, defaultStr);
    }
}
